Skip to main content

Avis de sécurité

Astuce

Pour des informations complètes sur le thème de la sécurité dans CODESYS environnement, voir : Sûreté

Développement d'un champ HTML5

Il n'est pas possible de transférer n'importe quelle quantité de données qui peut se produire avec de grands tableaux. Dans ce cas, il est utile de lier le tableau avec la fonctionnalité de plage de défilement. Cela permet également de meilleures performances de transfert car seule la section réellement nécessaire est transférée.

  • Type d'éditeur: ArrayRange

  • Type de propriété: Mise à jour

  • Type de variable: Type de base du tableau

Par conséquent, configurez le contrôle HTML5 avec une propriété d'interface pour le tableau comme suit :

Utiliser un champ HTML5

Important

Pour des raisons de sécurité, lorsque vous utilisez des contrôles HTML5, vous devez être conscient que la fonctionnalité qu'ils contiennent peut entraîner des attaques inattendues. En conséquence, le fonctionnement d'un automate peut être endommagé.

  • Exécution d'attaques DoS sur les serveurs Web

  • Espionnage des valeurs qui ont été paramétrées sur les champs HTML5

  • Affichage de valeurs incorrectes depuis l'application

  • Envoi de valeurs incorrectes à l'application

Voici quelques exemples :

Pour une protection efficace, il est nécessaire que les actions ci-dessous soient prises pour la sauvegarde.

Vérifier l'auteur et le contenu

Utilisez uniquement des contrôles HTML5 d'auteurs de confiance.

CODESYS fournit une prise en charge pour empêcher les modifications inattendues (et potentiellement malveillantes) des contrôles HTML5. Les contrôles HTML5 utilisés peuvent être vérifiés pour les modifications lors de la compilation ou du téléchargement et doivent d'abord être confirmés dans les projets pour cela. Une somme de contrôle (= valeur de hachage) est calculée pour le contenu de ces contrôles HTML5. Les auteurs de contrôles HTML5 peuvent fournir leurs valeurs de hachage à des fins de comparaison.

Protocole HTTPS sécurisé

Utilisez HTTPS.

Avec les contrôles HTML5, outre les déclarations de caractères et les événements d'entrée tels que les clics de souris, les valeurs lues ou écrites dans les variables CEI sont désormais également transférées. Cela pourrait faciliter les attaques de l'homme du milieu.

Accès aux ressources

Par défaut, un contrôle HTML5 ne peut pas charger de ressources telles que des scripts ou des styles. Cependant, les ressources fournies avec l'élément lui-même en sont exclues. Si cela nécessite que le contenu soit chargé à partir de serveurs autres que le contrôleur, cela peut être atténué en ajustant le ContentSecurityPolicyIncludeTrustedOrigins paramètre dans le fichier généré automatiquement webvisu.cfg.json dossier.

Cependant, cela n'est pas recommandé pour les raisons suivantes :

  • Tous les autres contrôles HTML5 sont alors également autorisés à télécharger et à utiliser le contenu de ces emplacements autorisés.

  • Basic Level n'a aucun contrôle sur les ressources chargées à partir de serveurs externes, la disponibilité et la compatibilité ne peuvent donc pas être garanties.

  • Des serveurs externes pourraient fournir des scripts malveillants qui pourraient ensuite être exécutés dans le cadre du contrôle HTML5. Par exemple, un script malveillant pourrait modifier les valeurs reçues ou envoyées ou révéler des informations.

Manipulation de fichiers

Soyez prudent si l'application utilise des contrôles HTML5 avec la possibilité de modifier des fichiers. En cas de manipulation de fichiers, des utilisateurs malveillants peuvent être en mesure d'insérer du code malveillant dans les contrôles HTML5. Ceci est à craindre, par exemple, lors de l'utilisation de l'éditeur de texte de la visualisation ou de fonctions telles que SysFile.

  • Le développeur de l'application est responsable de s'assurer que les chemins d'accès aux fichiers utilisés pour la modification sont vérifiés pour les emplacements valides (par exemple, pas dans le $PlcLogic$/$visu$Dossiers). Ceci est particulièrement dangereux si l'utilisateur de la visualisation peut saisir librement le chemin d'un fichier à modifier.

  • Nous vous recommandons d'utiliser uniquement des chemins d'accès codés en dur. Vous pouvez également vérifier qu'un chemin saisi par l'utilisateur se trouve à l'emplacement prévu.